package com.settlement.system.service;

import com.settlement.system.common.exception.ServiceException;
import com.settlement.system.model.entity.common.SinglePage;
import com.settlement.system.model.entity.common.TblRefundAuditBill;
import com.settlement.system.model.vo.TblRefundAuditBillVo;
import org.apache.ibatis.session.ResultHandler;

import java.util.List;
import java.util.Map;

/**
 * 退款稽核单据主表 服务类
 * @author xiaochuan
 * @since 2020-06-28
 */

public interface ITblRefundAuditBillService extends IBaseService {

    /**
     * selectBillCount
     * @param params
     * @return
     * @throws ServiceException
     */
    int selectBillCount(Map<String, Object> params) throws ServiceException;

    /**
     * selectBillByPage
     * @param singlePage
     * @param params
     * @param orderByField
     * @param orderBy
     * @return
     * @throws ServiceException
     */
    List<TblRefundAuditBill> selectBillByPage(SinglePage singlePage, Map<String, Object> params, String orderByField, String orderBy) throws ServiceException;;

    /**
     * selectBillDtl
     * @param params
     * @return
     * @throws ServiceException
     */
    TblRefundAuditBillVo selectBillDtl(Map<String, Object> params) throws ServiceException;

    /**
     * getDataBillByHandler
     * @param params
     * @param handler
     * @throws ServiceException
     */
    void getDataBillByHandler(Map<String, Object> params, ResultHandler<TblRefundAuditBill> handler) throws ServiceException;

    /**
     * getDataBillAndDtlByHandler
     * @param params
     * @param handler
     * @throws ServiceException
     */
    void getDataBillAndDtlByHandler(Map<String, Object> params, ResultHandler<TblRefundAuditBill> handler) throws ServiceException;
}

